30 天挑戰終於超過一半了!!!!!(灑花)
今天繼續分享的是兩種不同的開發方式:測試驅動開發 (TDD) 與行為驅動開發 (BDD)。
TDD (Test-Driven Development)重視的是程式碼的底層邏輯,以開發者為中心,會照以下步驟進行不斷地循環,直到功能開發完:
TDD 的好處是在程式撰寫的初期就有嚴謹的把關,也因為每個功能都有自動化的測試,當有功能被動到的時候,測試腳本就會出現提醒,保證程式碼的底層是穩固的,所以很適合有複雜邏輯的程式碼使用,像是金融系統的數字計算、電商的庫存邏輯等、API 串接的正確性。
BDD (Behavior-Driven Development)則是以需求為中心,可以讓技術團隊與非技術團隊可以使用同樣的語言溝通。
BDD 自動化測試腳本的方式,會以「Given-When-Then」的格式,其實很像 user story 會有的內容:
BDD 的好處發揮在可以跨越不同團隊的溝通,追求大家在共識上的對齊。
這兩種的開發方法,通常會結合使用,讓 Devops 的價值在開發過程中發揮更多影響。TDD 可以讓工程師在開發時,就有大量的自動化測試腳本,讓 CI/CD 跑得更順利,也與昨天提到的測試左移觀念相同。而 BDD 的方式可以讓 PM 及其他團隊在發版前,就可以提早拿到測試的流程,增加驗收速度。